package main

/**
多级指针
*/
func main() {

	a := 10
	var b *int //一颗星一级指针
	b = &a
	var bb **int     //二级指针
	var bbb ***int   //三级之指针
	var bbbb ****int //四级指针

	/**
	一般是会使用到二级指针
	二级指针可以保存一级指针的内存地址
		如b本身也是一个内存变量，在内存中也会有一个内存单元，
	*/
	bb = &b //二级指针拿到一级指针的值
	/**
	这样写会导致a的值变为100
	因为bb中存的值b的内存地址
		通过*bb就拿到了b的内存地址
		前面又加一个*,此时就是*b了，所以会改变a的值
	*/
	**bb = 100

}
